#include "set_floder.h"
#include "ui_set_floder.h"

set_Floder::set_Floder(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::set_Floder)
{
    ui->setupUi(this);
    Init_UI();
}

set_Floder::~set_Floder()
{
    delete ui;
}

void set_Floder::Init_UI()
{
    ui->label_prompt->setText(tr("fill in your knowledge base path"));
    ui->pb_save->setText(tr("save"));
    setWindowTitle(tr("set floder path"));

}

void set_Floder::showEvent(QShowEvent *)
{
    setWindowModality(Qt::ApplicationModal);
}

void set_Floder::on_pb_save_clicked()
{
    QString current_floder = ui->lineEdit_Floder->text();
    if (!current_floder.length()){
        setStatusTip(tr("could not use empty floder"));
    }
    QDir floder(current_floder);
    if(floder.exists()){
        QVariant var_floder(current_floder);
        Config_file().set("global", "data_floder", var_floder);
        GlobalSignalMgr::get_instance()->notify(SignalType::SIG_SET_FLODER, current_floder);
        GlobalSignalMgr::get_instance()->notify(SignalType::SIG_SET_STATUS, QString("move root to %1")
                                                .arg(current_floder));
        close();
    }
    else{
        GlobalSignalMgr::get_instance()->notify(SignalType::SIG_SET_STATUS, tr("your setted the floder not exist, please create if first"));
    }
}
